ios'ta evrensel bağlantılar ne demek?

iOS Evrensel Bağlantıları

Evrensel bağlantılar, iOS işletim sisteminde, kullanıcıların web sitenize yönlendirilmesini sağlayan bir mekanizmadır. Amaç, bir bağlantıya tıklandığında, eğer uygulamanız cihazda yüklüyse, uygulamanın açılması, uygulama yüklü değilse web sitenizin açılmasıdır. Bu, uygulama deneyimini iyileştirirken kullanıcıları doğrudan ilgili içeriklere yönlendirme olanağı sunar.

İçindekiler

  1. Giriş
  2. Evrensel Bağlantıların Avantajları
  3. Evrensel Bağlantıların Çalışma Prensibi
  4. Evrensel Bağlantıların Uygulanması
  5. Evrensel Bağlantı Sorun Giderme
  6. Evrensel Bağlantı Test Etme
  7. Evrensel Bağlantılarda Dikkat Edilmesi Gerekenler
  8. Sonuç
  9. Ek Kaynaklar

1. Giriş

Geleneksel olarak, URL Şemaları (URL Schemes) uygulamaları açmak için kullanılmıştır. Ancak, URL şemalarının bazı dezavantajları vardır:

  • Çakışma riski: Aynı URL şemasını birden fazla uygulama kullanabilir.
  • Güvenlik açıkları: Kötü amaçlı uygulamalar URL şemalarını kullanarak diğer uygulamaları taklit edebilir.

Evrensel bağlantılar, URL şemalarına kıyasla daha güvenli ve kullanıcı dostu bir alternatif sunar. Evrensel bağlantılar, HTTP veya HTTPS protokollerini kullanarak çalışır ve web sitenizle uygulamanız arasında bir ilişki kurar.

2. Evrensel Bağlantıların Avantajları

  • Güvenlik: Evrensel bağlantılar, web sitenizin sahipliğini doğrulamanızı gerektirir, bu da güvenlik risklerini azaltır.
  • Kullanıcı Deneyimi: Uygulama yüklüyse, kullanıcı doğrudan uygulamaya yönlendirilir, bu da daha akıcı bir deneyim sağlar.
  • Geliştirme Kolaylığı: URL şemalarına göre daha standart ve kolay entegre edilebilir.
  • SEO Avantajları: Web sitenizle uygulamanız arasındaki ilişkiyi güçlendirir, bu da SEO açısından faydalı olabilir.

3. Evrensel Bağlantıların Çalışma Prensibi

Evrensel bağlantılar aşağıdaki adımları izleyerek çalışır:

  1. Kullanıcı, evrensel bağlantı içeren bir bağlantıya tıklar.
  2. iOS, bağlantıyla ilişkili bir uygulama olup olmadığını kontrol eder.
  3. Eğer uygulama yüklüyse, uygulama açılır ve bağlantı verisi uygulamaya iletilir.
  4. Eğer uygulama yüklü değilse, bağlantı varsayılan web tarayıcısında açılır.

4. Evrensel Bağlantıların Uygulanması

Evrensel bağlantıları uygulamak için aşağıdaki adımları takip etmeniz gerekir:

Adım 1: İlişkili Etki Alanı Dosyası (apple-app-site-association) Oluşturma

apple-app-site-association dosyası, web siteniz ile uygulamanız arasındaki ilişkiyi tanımlayan bir JSON dosyasıdır. Bu dosya, uygulamanızın hangi URL'leri işleyebileceğini belirtir.

Örnek bir apple-app-site-association dosyası:

{
  "applinks": {
    "apps": [],
    "details": [
      {
        "appID": "TEAMID.BUNDLEID",
        "paths": [ "/products/*", "/blog/*" ]
      }
    ]
  }
}
  • appID: Uygulamanızın Team ID ve Bundle ID kombinasyonunu belirtir.
  • paths: Uygulamanızın işleyeceği URL kalıplarını belirtir. * karakteri joker karakter olarak kullanılır.

Önemli Notlar:

  • apple-app-site-association dosyası herhangi bir dosya uzantısına sahip olmamalıdır.
  • Dosya içeriği geçerli JSON formatında olmalıdır.

Adım 2: İlişkili Etki Alanı Dosyasını Sunucunuza Yerleştirme

apple-app-site-association dosyasını, web sitenizin kök dizininde veya .well-known klasörü içinde sunucunuza yerleştirmeniz gerekir. iOS bu dosyayı aşağıdaki URL'lerden kontrol eder:

  • https://example.com/apple-app-site-association
  • https://example.com/.well-known/apple-app-site-association

Dosyanın HTTPS üzerinden erişilebilir olduğundan ve Content-Type başlığının application/json olarak ayarlandığından emin olun.

Adım 3: Uygulamanızı İlişkili Etki Alanlarıyla Kaydetme

Xcode projenizde, "Signing & Capabilities" bölümünde "Associated Domains" özelliğini etkinleştirin ve web sitenizin etki alanını ekleyin. Örneğin:

applinks:example.com
applinks:www.example.com

Önemli Not: applinks: önekini kullanmayı unutmayın.

Adım 4: Uygulamanızda Gelen Bağlantıları İşleme

Uygulamanızda gelen evrensel bağlantıları işlemek için, AppDelegate sınıfında application(_:continue:restorationHandler:) metodunu uygulamanız gerekir.

func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
    guard userActivity.activityType == NSUserActivityTypeBrowsingWeb,
          let incomingURL = userActivity.webpageURL,
          let components = URLComponents(url: incomingURL, resolvingAgainstBaseURL: true) else {
        return false
    }

    // URL'yi ayrıştırın ve uygulamanızda uygun işlemi gerçekleştirin.
    print("Gelen URL: \(incomingURL)")

    // Örneğin, bir ürün detay sayfasına yönlendirme:
    if components.path.contains("/products/") {
        // Ürün detay sayfasını aç
    }

    return true
}

Bu metot, kullanıcı bir evrensel bağlantıya tıkladığında çağrılır. Gelen URL'yi ayrıştırarak uygulamanızda ilgili işlemi gerçekleştirebilirsiniz.

5. Evrensel Bağlantı Sorun Giderme

Evrensel bağlantılar düzgün çalışmıyorsa, aşağıdaki adımları kontrol edin:

  • apple-app-site-association dosyasının doğru formatta olduğundan ve sunucunuzda doğru konuma yerleştirildiğinden emin olun.
  • HTTPS kullandığınızdan ve SSL sertifikanızın geçerli olduğundan emin olun.
  • Xcode projenizde "Associated Domains" özelliğinin doğru şekilde yapılandırıldığından emin olun.
  • Uygulamanızın gelen bağlantıları doğru şekilde işlediğinden emin olun.
  • iOS cihazınızda uygulamanızı silip yeniden yükleyin. Bazen iOS, uygulamayı ilk kurulumda ilişkilendirmeyi doğru yapmayabilir.

Konsol Logları:

Cihazınızdaki konsol loglarını inceleyerek, evrensel bağlantılarla ilgili hataları veya uyarıları tespit edebilirsiniz.

6. Evrensel Bağlantı Test Etme

Evrensel bağlantıları test etmek için aşağıdaki yöntemleri kullanabilirsiniz:

  • Fiziksel Cihaz: En güvenilir yöntem, bir fiziksel cihaz üzerinde test yapmaktır. Uygulamanızı cihaza yükleyin ve bir evrensel bağlantıya tıklayarak test edin.
  • Notlar Uygulaması: iOS Notlar uygulamasında bir evrensel bağlantı oluşturun ve bağlantıya tıklayarak test edin.
  • E-posta: Kendinize bir evrensel bağlantı içeren bir e-posta gönderin ve bağlantıya tıklayarak test edin.
  • Terminal: iOS simülatöründe aşağıdaki komutu kullanarak evrensel bağlantıları test edebilirsiniz:
xcrun simctl openurl booted "https://example.com/products/123"

7. Evrensel Bağlantılarda Dikkat Edilmesi Gerekenler

  • Gizlilik: Kullanıcı gizliliğine saygı gösterin ve uygulamanızın topladığı veriler hakkında şeffaf olun.
  • Güvenlik: Evrensel bağlantılar üzerinden gelen verileri dikkatli bir şekilde işleyin ve olası güvenlik açıklarını önleyin.
  • Performans: Uygulamanızın evrensel bağlantıları hızlı ve verimli bir şekilde işlemesini sağlayın.

8. Sonuç

Evrensel bağlantılar, iOS uygulamaları için kullanıcı deneyimini iyileştiren ve güvenliği artıran önemli bir özelliktir. Bu makalede, evrensel bağlantıların ne olduğunu, nasıl çalıştığını ve nasıl uygulanacağını ayrıntılı olarak ele aldık.

9. Ek Kaynaklar

Bu bilgiler size evrensel bağlantılar konusunda kapsamlı bir genel bakış sunmaktadır. Umarım faydalı olmuştur.

Kendi sorunu sor